home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1999 March
/
EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso
/
earcd
/
grafica
/
amhelios
/
readme.txt
< prev
next >
Wrap
Text File
|
1999-01-01
|
16KB
|
443 lines
************************************************
*** Welcome to the HELIOS Radiosity Renderer ***
************************************************
Version: 1.03A
Release Date: 96/04/01
1. Introduction
Radiosity is an advanced computer graphics technique that you can use to
synthesize photorealistic images without ray tracing. HELIOS brings this
new and exciting technology to your personal desktop computer.
Included with this release is the full C++ source code for four separate
versions of HELIOS. The code is derived from that presented in the book:
Ashdown, I. 1994. "Radiosity: A Programmer's Perspective," New York,
NY: John Wiley & Sons, Inc.
(See Section 6, "Read This Book!" for further details.)
The source code is included for those programmers interested in
experimenting with radiosity methods as an alternative to ray tracing
techniques. It may be freely copied, redistributed, and/or modified for
personal, non-commercial use ONLY, provided the copyright notice is
included with all source code files.
2. What is Radiosity?
There are two approaches to generating photorealistic images -- digital
pictures that are difficult to distinguish from real photographs -- in
computer graphics. The first approach involves ray-tracing techniques;
the second approach is radiosity.
Radiosity is in a sense the complement of ray tracing. Ray-tracing
techniques excel in the rendition of point light sources, specular
reflections, and refraction effects. Radiosity methods accurately model
area light sources, diffuse reflections, color bleeding effects, and
realistic shadows. Whether you choose ray tracing or radiosity will
depend in part on what effects you consider to be more important in your
images.
Radiosity has the advantage of view independence. Using ray-tracing
techniques, the number of ray-surface intersection calculations can
increase geometrically with the complexity of the scene. Change your
point of view and you typically have to start from scratch to generate a
new image. With radiosity, however, you only need to perform the lighting
calculations once for a given environment. Once they have been completed,
you can quickly render a view of the environment as seen from any
position and orientation.
Folklore has it that you need a high-powered graphics workstation or even
a supercomputer to experiment with radiosity rendering techniques. Not
so! All you need is an IBM PC-AT clone with an 80386 CPU and a math
coprocessor, 4 megabytes of RAM, and a 256-color video display adapter.
Of course, a faster machine is always better. Using an off-the-shelf
desktop computer with a 66-MHz 80486 CPU, you can create photorealistic
images in ... are you ready for this? ... less than a minute. Compared to
the hours typically needed to ray trace photorealistic images, there is
something to be said for radiosity techniques.
To see what HELIOS is capable of, take a look at the demonstration images
DEMO_256.BMP (256 colors) or DEMO_16M.BMP (24-bit color).
3. Using HELIOS
HELIOS is a Microsoft Windows program that has the following hardware and
software requirements:
* An IBM PC-AT clone with an 80386 CPU and a math coprocessor (an
80486 or Pentium CPU is recommended.
* A color video display capable of displaying at least 256 colors.
* Microsoft Windows 3.1 or Windows 95.
Unlike many MS-Windows programs, you do *not* need to modify any system
files (such as WIN.INI or AUTOEXEC.BAT) in order to run HELIOS, nor do
you have to install anything. In fact, all you have to do is to store the
following files in the same directory on your hard disk or a floppy
diskette:
APPLE.ENT
CEILING.ENT
CHAIR.ENT
FLOOR.ENT
HELIOS.EXE
HELIOS.HLP
LIGHT_1.ENT
LIGHT_2.ENT
PICTURE.ENT
ROOM.WLD
SPHERE.ENT
WALL.ENT
The ROOM.WLD and *.ENT files describe a sample environment that consists
of a room with a chair on the floor, a floating apple and an oblate
sphere, a picture on the wall, and two fluorescent lighting fixtures
that illuminate the room.
While this room may not be the most exciting of environments, it clearly
demonstrates radiosity's ability to model area light sources, diffuse
reflections, color bleeding effects and realistic shadows.
Assuming you have stored the files on a floppy diskette:
1. Insert the diskette into your floppy disk drive.
2. Start Microsoft Windows.
3. Choose File from the Program Manager menu bar.
4. Select the Run... menu item.
5. Enter A:HELIOS.EXE in the Command Line edit control. (Substitute the
drive letter of your floppy disk drive if necessary.)
6. Press the <Enter> key or select the OK button.
To run HELIOS from the directory C:\HELIOS on your hard disk:
1. Start Microsoft Windows.
2. Choose File from the Program Manager menu bar.
3. Select the Run... menu item.
4. Enter C:\HELIOS\HELIOS.EXE in the Command Line edit control.
(Substitute another directory name if necessary.)
5. Press the <Enter> key or select the OK button.
Once HELIOS is up and running, you can:
1. Choose Help from the HELIOS Radiosity Renderer menu bar.
2. Select the Contents menu item.
3. Select the Using HELIOS topic to view instructions on how to use
HELIOS.
The Using HELIOS topic provides a brief but complete tutorial on how to
render the demonstration room in full color and view it from any angle.
4. Four Versions of HELIOS?
There are four versions of HELIOS included with this release:
HELIOS_C.EXE Cubic tetrahedron
HELIOS_H.EXE Hemicube
HELIOS_R.EXE Ray casting
HELIOS_S.EXE Shading only
These executables can be found in the BIN subdirectory (see Section 6,
"Release Contents"), and can directly replace HELIOS.EXE in the root
directory.
4.1 HELIOS_H.EXE - Hemicube
This version is based on the progressive radiosity method. It uses
the hemicube method to determine form factors.
4.2 HELIOS_C.EXE - Cubic Tetrahedron
This version is also based on the progressive radiosity method.
However, it uses the cubic tetrahedron method to determine form
factors. Cubic tetrahedrons result in faster execution times (about
25 percent or so) and fewer form-factor aliasing artifacts than do
hemicubes.
The program HELIOS.EXE in the root directory is really HELIOS_C.EXE.
The only difference is that the version number in the "About HELIOS"
dialog box has been modified to read "1.03A" instead of "1.03A/CT."
4.3 HELIOS_R.EXE - Ray Casting
This version uses ray casting techniques to determine its form
factors. It does not employ BSP or any other polygon culling
techniques, however, and so it is quite slow in comparison to
HELIOS_C.EXE and HELIOS_H.EXE.
4.4 HELIOS_S.EXE - Shading Only
This version is *not* a radiosity renderer. Rather, it implements the
three-dimensional viewing system, polygon rendering, user interface
and other feature needed to implement a fully-functional radiosity
renderer. It is only capable of displaying flat-shaded polygons.
All of the C++ source code and support files for these programs has been
included in this release of HELIOS, as itemized in the next section. See
Section 6, "Read This Book!" for further information.
5. Release Contents
The complete set of files included with this release consists of:
5.1 Root Directory
HELIOS.HLP HELIOS V1.03A on-line help file
HELIOS.EXE HELIOS V1.03A MS-Windows 3.1 executable
ROOM.WLD Demonstration room environment file
APPLE.ENT Demonstration room entity files
CEILING.ENT
CHAIR.ENT
FLOOR.ENT
LIGHT_1.ENT
LIGHT_2.ENT
PICTURE.ENT
SPHERE.ENT
WALL.ENT
README.TXT This file
[BC45] Borland C++ Version 4.5 subdirectory
[BIN] Binary executables subdirectory
[HELP] Help files subdirectory
[INCLUDE] HELIOS C++ include files subdirectory
[MSVC] Microsoft C++ Version 1.5 subdirectory
[SOURCE] HELIOS C++ source code files subdirectory
5.2 Subdirectory BC45
[CUBIC] HELIOS V1.03A/CT IDE file subdirectory
[HEMI] HELIOS V1.03A/HC IDE file subdirectory
[RAY] HELIOS V1.03A/RC IDE file subdirectory
[SHADE] HELIOS V1.03A/SH IDE file subdirectory
5.3 Subdirectory BC45\CUBIC
HELIOS_C.IDE Borland C++ IDE file for HELIOS V1.03A/CT
5.4 Subdirectory BC45\HEMI
HELIOS_H.IDE Borland C++ IDE file for HELIOS V1.03A/HC
5.5 Subdirectory BC45\RAY
HELIOS_R.IDE Borland C++ IDE file for HELIOS V1.03A/RC
5.6 Subdirectory BC45\SHADE
HELIOS_S.IDE Borland C++ IDE file for HELIOS V1.03A/SH
5.7 Subdirectory BIN
HELIOS_C.EXE HELIOS Version 1.03A/CT executable
HELIOS_H.EXE HELIOS Version 1.03A/HC executable
HELIOS_R.EXE HELIOS Version 1.03A/RC executable
HELIOS_S.EXE HELIOS Version 1.03A/SH executable
5.8 Subdirectory DEMO
APPLE.ENT Demonstration room entity files
CEILING.ENT
CHAIR.ENT
FLOOR.ENT
LIGHT_1.ENT
LIGHT_2.ENT
PICTURE.ENT
SPHERE.ENT
WALL.ENT
ROOM.WLD Demonstration room environment file
5.9 Subdirectory HELP
GLOSSARY.RTF HELIOS help file glossary (Rich Text Format)
HELIOS.HPJ HELIOS help project file
HELIOS.HLP HELIOS help file
HELIOS.RTF HELIOS help file master (Rich Text Format)
WIN_HELP.H HELIOS help include file
5.10 Subdirectory INCLUDE HELIOS C++ include files
COLOR.H Colors
CT_CLIP.H Cubic tetrahedron element clipping
CT_DELTA.H Cubic tetrahedron form factor deltas
CT_POLY.H Cubic tetrahedron elements
CT_SCAN.H Cubic tetrahedron element scanning
CUBIC_T.H Cubic tetrahedrons
C_JITTER.H Color jittering
ENVIRON.H Environment
ERROR.H Error reporting
FF_CLIP.H Form factor element clipping
FF_DELTA.H Form factor deltas
FF_POLY.H Form factor elements
FF_SCAN.H Form factor element scanning
GAMMA.H Gamma correction
GENERAL.H General
HC_CLIP.H Hemicube element clipping
HC_DELTA.H Hemicube form factor deltas
HC_POLY.H Hemicube elements
HC_SCAN.H Hemicube element scanning
HELIOS.H HELIOS MS-Windows interface
HEMICUBE.H Hemicubes
INSTANCE.H Instances
OCT_QUAN.H Octree color quantization
OUT_POLY.H Polygon output
PARSE.H Input file parser
PATCH3.H 3D patches
PROG_RAD.H Progressive radiosity
P_CLIP4.H Homogeneous polygon clipping
P_RENDER.H Polygon rendering
RAD_EQN.H Radiosity equation solver
RAY_CAST.H Ray casting
RAY_RAD.H Ray-cast radiosity
RESOURCE.H HELIOS resource file
SURFACE3.H 3D surfaces
SYN_CAM.H Synthetic camera
TRANSFM3.H 3D transformations
VECTOR3.H 3D vectors
VECTOR4.H Homogeneous vectors
VERTEX4.H Homgeneous vertices
VIEW_SYS.H Viewing system
WIN_BMAP.H MS-Windows BMP (bitmap) files
WIN_META.H MS-Windows metafiles
WIN_SBAR.H Scroll bars
WIN_TEXT.H MS-Windows text manager
WIN_TGA.H Targa (TGA) files
5.11 Subdirectory MSVC
[CUBIC] HELIOS V1.03A/CT MAKE file subdirectory
[HEMI] HELIOS V1.03A/HC MAKE file subdirectory
[RAY] HELIOS V1.03A/RC MAKE file subdirectory
[SHADE] HELIOS V1.03A/SH MAKE file subdirectory
5.12 Subdirectory MSVC\CUBIC
HELIOS_C.MAK Microsoft C++ MAK file for HELIOS V1.03A/CT
5.13 Subdirectory MSVC\HEMI
HELIOS_H.MAK Microsoft C++ MAK file for HELIOS V1.03A/HC
5.14 Subdirectory MSVC\RAY
HELIOS_R.MAK Microsoft C++ MAK file for HELIOS V1.03A/RC
5.15 Subdirectory MSVC\SHADE
HELIOS_S.MAK Microsoft C++ MAK file for HELIOS V1.03A/SH
5.16 Subdirectory SOURCE HELIOS C++ source code files
CT_CLIP.CPP Cubic tetrahedron element clipping
CT_DELTA.CPP Cubic tetrahedron form factor deltas
CT_SCAN.CPP Cubic tetrahedron element scanning
CUBIC_T.CPP Cubic tetrahedrons
C_JITTER.CPP Color jittering
ENVIRON.CPP Environment
ERROR.CPP Error reporting
FF_CLIP.CPP Form factor element clipping
FF_SCAN.CPP Form factor element scanning
GAMMA.CPP Gamma correction
HC_CLIP.CPP Hemicube element clipping
HC_DELTA.CPP Hemicube form factor deltas
HC_SCAN.CPP Hemicube element scanning
HELIOS.DEF HELIOS definition file
HELIOS.RC HELIOS resource file
HELIOS.CPP HELIOS MS-Windows interface
HELIOS_C.ICO HELIOS V1.03A/CT icon
HELIOS_H.ICO HELIOS V1.03A/HC icon
HELIOS_R.ICO HELIOS V1.03A/RC icon
HELIOS_S.ICO HELIOS V1.03A/SH icon
HEMICUBE.CPP Hemicubes
OCT_QUAN.CPP Octree color quantization
PARSE.CPP Input file parser
PATCH3.CPP 3D patches
PROG_RAD.CPP Progressive radiosity
P_CLIP4.CPP Homogeneous polygon clipping
P_RENDER.CPP Polygon rendering
RAD_EQN.CPP Radiosity equation solver
RAD_TMP.CPP Dummy radiosity equation solver
RAY_CAST.CPP Ray casting
RAY_RAD.CPP Ray-cast radiosity
SYN_CAM.CPP Synthetic camera
TEST_1.CPP Development test program #1
TEST_2.CPP Development test program #2
TEST_3.CPP Development test program #3
TEST_4.CPP Development test program #4
VECTOR3.CPP 3D vectors
VIEW_SYS.CPP Viewing system
WIN_BMAP.CPP MS-Windows BMP (bitmap) files
WIN_HELP.H Online help include file
WIN_SBAR.CPP Scroll bars
WIN_TGA.CPP Targa (TGA) files
6. Read This Book!
The C++ source code included with this release of HELIOS is fully
commented. However, it is often difficult to understand the inner
workings of a program from the source code comments alone, no matter how
well-written they may be.
In the case of HELIOS, however, the radiosity-related code has been
fully documented. To obtain a copy of this documentation, you can (ahem)
buy:
Radiosity: A Programmer's Perspective
by Ian Ashdown
Published by John Wiley & Sons, Inc., New York, NY
Paperback, 498 pages with 12 color plates, 1994
ISBN 0-471-30444-1 (without diskette), $39.95 US
ISBN 0-471-30488-3 (with 3.5-inch MS-DOS diskette), $54.95 US
To order a copy of this book, you can call 1-800-CALL-WILEY in the
United States and Canada. You can also order it online from Wiley's Web
page (http://www.wiley.com).
"Radiosity: A Programmer's Perspective" offers step-by-step guidance for
the development of a fully functional, radiosity-based rendering program
for Microsoft Windows and other graphical environments, including:
* A detailed explanation of radiosity theory and its associated
algorithms (no knowledge of higher mathematics required!)
* Complete, fully documented, and compiler-independent C++ source code
for HELIOS, a radiosity renderer for Microsoft Windows 3.1, Windows
95, and Windows NT (tm).
* An extensive guide to the computer graphics radiosity literature.
(The version of HELIOS presented in the book employs a simplified user
interface, due to lack of space for the source code. The radiosity-
related code, however, is identical to that included with this release of
HELIOS.)
7. Credits
HELIOS was written by:
byHeart Software Limited
620 Ballantree Road
West Vancouver, B.C.
Canada V7S 1W3
Attn: Ian Ashdown, President
Web URL: http://www.ledalite.com
e-mail: iashdown@ledalite.com
Comments and questions are welcome.